Pandas中的五种数据查询方法 | 您所在的位置:网站首页 › index 查询 › Pandas中的五种数据查询方法 |
Pandas查询数据
Pandas查询数据的几种方法
1.df.loc方法,根据行、列的标签值查询 2. df.iloc方法,根据行、列的数字位置查询 3. df.where方法 4. df.query方法 .loc既能查询,又能覆盖写入,强烈推荐! Pandas使用df.loc查询数据的方法1.使用单个label值查询数据 2.使用值列表批量查询 3.使用数值区间进行范围查询 4.使用条件表达式查询 5.调用函数查询 ·以上查询方法,既适用于行,也适用于列·注意观察降维dataFrame>Series>值 import pandas as pd 1、读取数据北京2018年全年天气预报 df=pd.read_csv('./datas/beijing_tianqi/beijing_tianqi_2018.csv',index_col='ymd') df.head() df.index设置索引为日期,方便按日期筛选 inplace=True 表示直接在原存储空间上进行更改,不是重新开辟一块空间进行更改 #设置索引为日期,方便按日期筛选 #inplace=True 表示直接在原存储空间上进行更改,不是重新开辟一块空间进行更改 df.set_index('ymd',inplace=True) df.head()替换掉温度后的℃ 其实还是使用切片操作,首先筛选出所有的行,在筛选出yWendu中一列,带着类型replace修改完之后,在对修改后的类型进行转换 df.loc[:,'bWendu']=df['bWendu'].str.replace('℃','').astype('int32') df.loc[:,'yWendu']=df['yWendu'].str.replace('℃','').astype('int32') df.head() df.dtypes值得注意的是: AttributeError: Can only use .str accessor with string values!这种错误一般都是修改完之后了,不能在进行修改,说明已经修改过了 1、使用单个label值查询数据¶行或列,都可以只传入单个值,实现精确匹配 查询一个单元格,只会返回一个数字值 #查询一个单元格,只会返回一个数字值 df.loc['2018-01-01','bWendu']对于列的筛选,会产生一列,得到一个Series #对于列的筛选,会产生一列,得到一个Series df.loc['2018-01-01',['bWendu','yWendu']]得到Series #得到Series df.loc[['2018-01-02','2018-01-03','2018-01-04'],'bWendu']得到DataFrame #得到DataFrame df.loc[['2018-01-02','2018-01-03','2018-01-04'],['bWendu','yWendu']]3、使用数值区间进行范围查询 注意:区间既包括开始,也包括结束 行index按区间,切片操作的时候不用加双【】 列index按区间 行和列都按区间查询 #行index按区间,切片操作的时候不用加双【】 df.loc['2018-01-03':'2018-01-05','bWendu'] #列index按区间 df.loc['2018-01-03','bWendu':'fengxiang'] #行和列都按区间查询 df.loc['2018-01-03':'2018-01-05','bWendu':'fengxiang']4、使用条件表达式查询¶ bool列表的长度等于行数或者列数 简单条件查询,最低温度低于-10度的列表 #简单条件查询,最低温度低于-10度的列表 df.loc[df['yWendu'] |
CopyRight 2018-2019 实验室设备网 版权所有 |